<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // Class 可以通过extends关键字实现继承！！！！！
      class Point {
        constructor(x, y) {
          this.x = x
          this.y = y
        }
      }
      // class ColorPoint extends Point {}
      var p1 = new Point(1, 2)
      // 代码定义了一个ColorPoint类，该类通过extends关键字，继承了Point类的所有属性和方法。

      class ColorPoint extends Point {
        constructor(x, y, color) {
          super(x, y) // 调用父类的constructor(x, y)
          console.log(this, 'this')
          this.color = color
        }

        toString() {
          return this.color + ' ' + super.toString() // 调用父类的toString()
        }
      }

      var p2 = new ColorPoint()
      // 上面代码中，constructor方法和toString方法之中，都出现了super关键字，它在这里表示父类的构造函数，用来新建父类的this对象。
    </script>
  </body>
</html>
